[INFO] cloning repository https://github.com/zongzi531/rust-learning
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/zongzi531/rust-learning" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fzongzi531%2Frust-learning", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fzongzi531%2Frust-learning'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] dcf7c60aecad6474095e9df0da0409a19ff70b09
[INFO] fixing zongzi531/rust-learning against try#622891a4e29178280638a6b63a8908bde2c0c854+cargoflags=-Zfix-edition=end=2015,2024 for pr-157817-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fzongzi531%2Frust-learning" "/workspace/builds/worker-0-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/zongzi531/rust-learning
[INFO] finished tweaking git repo https://github.com/zongzi531/rust-learning
[INFO] tweaked toml for git repo https://github.com/zongzi531/rust-learning written to /workspace/builds/worker-0-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/zongzi531/rust-learning on toolchain 622891a4e29178280638a6b63a8908bde2c0c854
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/zongzi531/rust-learning already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 8c16583e666e018a5553679f159aeb756d1e42d05739676af6e022b7e803a615
[INFO] running `Command { std: "docker" "start" "8c16583e666e018a5553679f159aeb756d1e42d05739676af6e022b7e803a615", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "8c16583e666e018a5553679f159aeb756d1e42d05739676af6e022b7e803a615" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "8c16583e666e018a5553679f159aeb756d1e42d05739676af6e022b7e803a615", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=" "-e" "RUSTDOCFLAGS=" "-w" "/opt/rustwide/workdir" "--user" "0:0" "8c16583e666e018a5553679f159aeb756d1e42d05739676af6e022b7e803a615" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fix" "--allow-no-vcs" "--allow-dirty" "--frozen" "--all" "--all-targets" "--message-format=json" "-Zfix-edition=end=2015,2024", kill_on_drop: false }`
[INFO] [stderr] crater-edition-check: migrating to next edition
[INFO] [stderr]    Migrating Cargo.toml from 2021 edition to 2024
[INFO] [stderr]     Checking utf8_slice v1.0.0
[INFO] [stderr]     Checking rust-learning v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]    Migrating src/bin/compound-types-enum-1.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/generics-traits-const-generics-3.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/collections-vector-3.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/collections-String-5.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/basic-types-functions-4.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/compound-types-enum-3.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/compound-types-slice-4.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/collections-vector-5.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/compound-types-enum-2.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/generics-traits-generics-4.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/generics-traits-generics-5.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/lifetime-advance-6.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/flow-control-11.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/collections-vector-2.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/ownership-borrowing-8.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/compound-types-struct-3.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/generics-traits-trait-object-3.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/type-conversions-from-into-3.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/basic-types-char-bool-unit-1.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/basic-types-char-bool-unit-4.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/method-5.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/type-conversions-others-3.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/collections-vector-6.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/flow-control-8.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/compound-types-string-12-1.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/basic-types-numbers-3.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/method-0.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/collections-String-2.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/compound-types-tuple-2.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/pattern-match-match-iflet-3.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/generics-traits-generics-7.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/formatted-output-7.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/type-conversions-from-into-5.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/collections-hashmap-1.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/lifetime-advance-1.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/type-conversions-as-5.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/collections-vector-4.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/generics-traits-generics-6.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/pattern-match-patterns-4.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/collections-String-6.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/ownership-borrowing-1.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/compound-types-struct-7-1.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/collections-String-3.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/compound-types-string-9.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/formatted-output-2.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/basic-types-numbers-8.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/compound-types-string-8.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/basic-types-functions-3.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/collections-hashmap-2.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/compound-types-enum-5.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/ownership-borrowing-2.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/flow-control-5.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/pattern-match-patterns-2.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/ownership-ownership-8.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/generics-traits-advanced-traits-5.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/basic-types-numbers-1.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/pattern-match-match-iflet-4.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/basic-types-numbers-5.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/collections-String-4.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/collections-hashmap-3.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/collections-hashmap-5.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/compound-types-string-12.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/compound-types-slice-1.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/basic-types-statements-expressions-0.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/compound-types-struct-1.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/basic-types-numbers-7.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/compound-types-array-6.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/formatted-output-4.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/generics-traits-trait-object-2.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/generics-traits-traits-7.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/lifetime-advance-5.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/result-panic-result-1.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/basic-types-functions-2.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/flow-control-3.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/method-4.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/main.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/collections-hashmap-4.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/result-panic-result-5.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/lifetime-basic-7.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/generics-traits-generics-2.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/flow-control-10.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/compound-types-slice-2.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/ownership-borrowing-7.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/compound-types-string-5.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/ownership-borrowing-11.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/basic-types-statements-expressions-2.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/ownership-ownership-3.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/generics-traits-generics-1.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/lifetime-advance-2.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/compound-types-array-5.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/lifetime-static-3.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/formatted-output-5.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/ownership-borrowing-6.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/lifetime-advance-3.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/basic-types-char-bool-unit-3.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/compound-types-tuple-4.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/generics-traits-trait-object-4.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/generics-traits-traits-5.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/lifetime-basic-6.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/collections-vector-1.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/generics-traits-advanced-traits-3.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/compound-types-tuple-6.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/lifetime-static-1.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/ownership-borrowing-4.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/collections-vector-7.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/flow-control-1.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/compound-types-struct-6.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/type-conversions-others-1.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/lifetime-basic-9.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/compound-types-string-3.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/ownership-ownership-6.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/lifetime-static-6.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/compound-types-string-10-1.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/collections-String-7.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/compound-types-tuple-5.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/generics-traits-traits-9.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/lifetime-static-2.rs from 2021 edition to 2024
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]   --> src/bin/lifetime-static-2.rs:23:25
[INFO] [stdout]    |
[INFO] [stdout] 23 |         println!("{:?}",config)
[INFO] [stdout]    |                         ^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: `--force-warn static-mut-refs` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating src/bin/compound-types-struct-5.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/lifetime-static-4.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/ownership-borrowing-10.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/formatted-output-6.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/compound-types-string-11.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/collections-vector-8.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/flow-control-7.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/pattern-match-match-iflet-5.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/compound-types-string-1.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/lifetime-static-5.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/ownership-ownership-5.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/basic-types-functions-5.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/basic-types-char-bool-unit-6.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/lifetime-basic-1.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/flow-control-2.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/pattern-match-patterns-5.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/lifetime-basic-5.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/generics-traits-generics-3.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/compound-types-string-4.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/compound-types-string-7.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/generics-traits-advanced-traits-4.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/generics-traits-trait-object-1.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/compound-types-slice-5.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/compound-types-array-2.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/lifetime-basic-3.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/ownership-ownership-1.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/ownership-ownership-7-1.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/generics-traits-traits-0.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/type-conversions-as-2.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/generics-traits-trait-object-5.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/generics-traits-traits-8.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/result-panic-panic-2.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/basic-types-numbers-9.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/basic-types-numbers-6.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/compound-types-string-6.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/generics-traits-advanced-traits-1.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/basic-types-numbers-11.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/type-conversions-as-3.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/compound-types-tuple-3.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/type-conversions-from-into-2.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/compound-types-enum-6.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/formatted-output-3.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/compound-types-slice-6.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/formatted-output-9.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/lifetime-advance-4.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/pattern-match-match-iflet-1.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/pattern-match-patterns-6.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/type-conversions-from-into-1.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/pattern-match-match-iflet-6.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/compound-types-string-2.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/compound-types-struct-7.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/formatted-output-1.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/compound-types-enum-4.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/generics-traits-traits-6.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/compound-types-struct-4.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/result-panic-panic-1.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/ownership-ownership-9.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/generics-traits-traits-1.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/flow-control-6.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/lifetime-basic-10.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/result-panic-result-2.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/formatted-output-8.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/generics-traits-traits-3.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/crate-module-use-pub-2.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/result-panic-result-3.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/lifetime-basic-2.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/method-6.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/compound-types-tuple-1.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/compound-types-string-10.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/flow-control-9.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/basic-types-functions-1.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/generics-traits-const-generics-2.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/basic-types-numbers-10.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/basic-types-char-bool-unit-2.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/type-conversions-as-1.rs from 2021 edition to 2024
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]   --> src/bin/lifetime-static-2.rs:23:25
[INFO] [stdout]    |
[INFO] [stdout] 23 |         println!("{:?}",config)
[INFO] [stdout]    |                         ^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: `--force-warn static-mut-refs` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating src/bin/method-2.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/generics-traits-traits-2.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/compound-types-array-3.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/ownership-borrowing-9.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/basic-types-statements-expressions-1.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/method-3.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/type-conversions-from-into-4.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/flow-control-4.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/basic-types-numbers-2.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/pattern-match-match-iflet-9.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/crate-module-use-pub-1.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/generics-traits-traits-4.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/ownership-ownership-4.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/ownership-ownership-7.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/method-1.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/ownership-borrowing-3.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/compound-types-struct-8.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/compound-types-array-4.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/type-conversions-others-2.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/basic-types-numbers-4.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/collections-String-1.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/basic-types-statements-expressions-3.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/compound-types-struct-2.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/pattern-match-match-iflet-2.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/result-panic-result-6.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/type-conversions-as-4.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/result-panic-result-4.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/compound-types-array-1.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/generics-traits-const-generics-1.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/lifetime-basic-4.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/ownership-borrowing-5.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/ownership-ownership-2.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/pattern-match-match-iflet-8.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/pattern-match-patterns-1.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/generics-traits-advanced-traits-2.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/pattern-match-patterns-3.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/pattern-match-match-iflet-7.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/lifetime-basic-8.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/compound-types-slice-3.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/basic-types-char-bool-unit-5.rs from 2021 edition to 2024
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 41.74s
[INFO] [stderr] crater-edition-check: rust-learning v0.1.0 (/opt/rustwide/workdir) updating edition from 2021 to 2024
[INFO] [stderr]     Checking rust-learning v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]  --> src/bin/ownership-borrowing-3.rs:4:7
[INFO] [stdout]   |
[INFO] [stdout] 4 |   let mut s = String::from("hello, ");
[INFO] [stdout]   |       ----^
[INFO] [stdout]   |       |
[INFO] [stdout]   |       help: remove this `mut`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]  --> src/bin/ownership-borrowing-3.rs:9:18
[INFO] [stdout]   |
[INFO] [stdout] 9 | fn borrow_object(s: &String) {}
[INFO] [stdout]   |                  ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Rectangle` is never constructed
[INFO] [stdout]  --> src/bin/method-5.rs:2:8
[INFO] [stdout]   |
[INFO] [stdout] 2 | struct Rectangle {
[INFO] [stdout]   |        ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `area` is never used
[INFO] [stdout]  --> src/bin/method-5.rs:9:6
[INFO] [stdout]   |
[INFO] [stdout] 8 | impl Rectangle {
[INFO] [stdout]   | -------------- method in this implementation
[INFO] [stdout] 9 |   fn area(&self) -> u32 {
[INFO] [stdout]   |      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `can_hold` is never used
[INFO] [stdout]   --> src/bin/method-5.rs:15:6
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl Rectangle {
[INFO] [stdout]    | -------------- method in this implementation
[INFO] [stdout] 15 |   fn can_hold(&self, other: &Rectangle) -> bool {
[INFO] [stdout]    |      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Quit`, `Write`, and `ChangeColor` are never constructed
[INFO] [stdout]  --> src/bin/compound-types-enum-3.rs:4:3
[INFO] [stdout]   |
[INFO] [stdout] 3 | enum Message {
[INFO] [stdout]   |      ------- variants in this enum
[INFO] [stdout] 4 |   Quit,
[INFO] [stdout]   |   ^^^^
[INFO] [stdout] 5 |   Move { x: i32, y: i32 },
[INFO] [stdout] 6 |   Write(String),
[INFO] [stdout]   |   ^^^^^
[INFO] [stdout] 7 |   ChangeColor(i32, i32, i32),
[INFO] [stdout]   |   ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]  --> src/bin/flow-control-7.rs:5:7
[INFO] [stdout]   |
[INFO] [stdout] 5 |   for i in 0..=100 {
[INFO] [stdout]   |       ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `match_number` is never used
[INFO] [stdout]  --> src/bin/pattern-match-patterns-1.rs:3:4
[INFO] [stdout]   |
[INFO] [stdout] 3 | fn match_number(n: i32) {
[INFO] [stdout]   |    ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `p`
[INFO] [stdout]   --> src/bin/compound-types-struct-1.rs:10:7
[INFO] [stdout]    |
[INFO] [stdout] 10 |   let p = Person {
[INFO] [stdout]    |       ^ help: if this is intentional, prefix it with an underscore: `_p`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name`, `age`, and `hobby` are never read
[INFO] [stdout]  --> src/bin/compound-types-struct-1.rs:4:3
[INFO] [stdout]   |
[INFO] [stdout] 3 | struct Person {
[INFO] [stdout]   |        ------ fields in this struct
[INFO] [stdout] 4 |   name: String,
[INFO] [stdout]   |   ^^^^
[INFO] [stdout] 5 |   age: u8,
[INFO] [stdout]   |   ^^^
[INFO] [stdout] 6 |   hobby: String
[INFO] [stdout]   |   ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `arrays`
[INFO] [stdout]  --> src/bin/generics-traits-const-generics-1.rs:8:7
[INFO] [stdout]   |
[INFO] [stdout] 8 |   let arrays = [
[INFO] [stdout]   |       ^^^^^^ help: if this is intentional, prefix it with an underscore: `_arrays`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `data` is never read
[INFO] [stdout]  --> src/bin/generics-traits-const-generics-1.rs:4:3
[INFO] [stdout]   |
[INFO] [stdout] 3 | struct Array<T, const N: usize> {
[INFO] [stdout]   |        ----- field in this struct
[INFO] [stdout] 4 |   data : [T; N]
[INFO] [stdout]   |   ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ImportantExcerpt` is never constructed
[INFO] [stdout]  --> src/bin/lifetime-basic-9.rs:2:8
[INFO] [stdout]   |
[INFO] [stdout] 2 | struct ImportantExcerpt<'a> {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `level` is never used
[INFO] [stdout]  --> src/bin/lifetime-basic-9.rs:7:6
[INFO] [stdout]   |
[INFO] [stdout] 6 | impl<'a> ImportantExcerpt<'a> {
[INFO] [stdout]   | ----------------------------- method in this implementation
[INFO] [stdout] 7 |   fn level(&'a self) -> i32 {
[INFO] [stdout]   |      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `fly` is never used
[INFO] [stdout]   --> src/bin/generics-traits-trait-object-1.rs:14:6
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl Swan {
[INFO] [stdout]    | --------- method in this implementation
[INFO] [stdout] 14 |   fn fly(&self) {
[INFO] [stdout]    |      ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]  --> src/bin/compound-types-string-1.rs:4:7
[INFO] [stdout]   |
[INFO] [stdout] 4 |   let s: &str = "hello, world";
[INFO] [stdout]   |       ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TrafficLight` is never constructed
[INFO] [stdout]  --> src/bin/method-3.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | struct TrafficLight {
[INFO] [stdout]   |        ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `show_state` and `change_state` are never used
[INFO] [stdout]   --> src/bin/method-3.rs:7:10
[INFO] [stdout]    |
[INFO] [stdout]  5 | impl TrafficLight {
[INFO] [stdout]    | ----------------- methods in this implementation
[INFO] [stdout]  6 |   // 使用 `Self` 填空
[INFO] [stdout]  7 |   pub fn show_state(self: &Self)  {
[INFO] [stdout]    |          ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 12 |   pub fn change_state(mut self) {
[INFO] [stdout]    |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `i` should have an upper case name
[INFO] [stdout]   --> src/bin/lifetime-static-5.rs:19:11
[INFO] [stdout]    |
[INFO] [stdout] 19 |     const i: i32 = 5;
[INFO] [stdout]    |           ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_upper_case_globals)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] help: convert the identifier to upper case (notice the capitalization)
[INFO] [stdout]    |
[INFO] [stdout] 19 -     const i: i32 = 5;
[INFO] [stdout] 19 +     const I: i32 = 5;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]  --> src/bin/compound-types-array-4.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | struct I64(i64);
[INFO] [stdout]   |        --- ^^^
[INFO] [stdout]   |        |
[INFO] [stdout]   |        field in this struct
[INFO] [stdout]   |
[INFO] [stdout]   = help: consider removing this field
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]  --> src/bin/compound-types-array-4.rs:4:13
[INFO] [stdout]   |
[INFO] [stdout] 4 | struct Char(char);
[INFO] [stdout]   |        ---- ^^^^
[INFO] [stdout]   |        |
[INFO] [stdout]   |        field in this struct
[INFO] [stdout]   |
[INFO] [stdout]   = help: consider removing this field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/bin/compound-types-array-4.rs:10:7
[INFO] [stdout]    |
[INFO] [stdout] 10 |   I64(i64),
[INFO] [stdout]    |   --- ^^^
[INFO] [stdout]    |   |
[INFO] [stdout]    |   field in this variant
[INFO] [stdout]    |
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 10 -   I64(i64),
[INFO] [stdout] 10 +   I64(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/bin/compound-types-array-4.rs:11:8
[INFO] [stdout]    |
[INFO] [stdout] 11 |   Char(char),
[INFO] [stdout]    |   ---- ^^^^
[INFO] [stdout]    |   |
[INFO] [stdout]    |   field in this variant
[INFO] [stdout]    |
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 11 -   Char(char),
[INFO] [stdout] 11 +   Char(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `r1`
[INFO] [stdout]  --> src/bin/ownership-borrowing-11.rs:5:7
[INFO] [stdout]   |
[INFO] [stdout] 5 |   let r1 = &mut s;
[INFO] [stdout]   |       ^^ help: if this is intentional, prefix it with an underscore: `_r1`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `r2`
[INFO] [stdout]  --> src/bin/ownership-borrowing-11.rs:6:7
[INFO] [stdout]   |
[INFO] [stdout] 6 |   let r2 = &mut s;
[INFO] [stdout]   |       ^^ help: if this is intentional, prefix it with an underscore: `_r2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `i` should have an upper case name
[INFO] [stdout]   --> src/bin/lifetime-static-5.rs:19:11
[INFO] [stdout]    |
[INFO] [stdout] 19 |     const i: i32 = 5;
[INFO] [stdout]    |           ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_upper_case_globals)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] help: convert the identifier to upper case (notice the capitalization)
[INFO] [stdout]    |
[INFO] [stdout] 19 -     const i: i32 = 5;
[INFO] [stdout] 19 +     const I: i32 = 5;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `CliError` is never used
[INFO] [stdout]  --> src/bin/type-conversions-from-into-3.rs:6:6
[INFO] [stdout]   |
[INFO] [stdout] 6 | enum CliError {
[INFO] [stdout]   |      ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `open_and_parse_file` is never used
[INFO] [stdout]   --> src/bin/type-conversions-from-into-3.rs:25:4
[INFO] [stdout]    |
[INFO] [stdout] 25 | fn open_and_parse_file(file_name: &str) -> Result<i32, CliError> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `integer`
[INFO] [stdout]  --> src/bin/generics-traits-generics-3.rs:9:7
[INFO] [stdout]   |
[INFO] [stdout] 9 |   let integer = Point { x: 5, y: 10 };
[INFO] [stdout]   |       ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_integer`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `float`
[INFO] [stdout]   --> src/bin/generics-traits-generics-3.rs:10:7
[INFO] [stdout]    |
[INFO] [stdout] 10 |   let float = Point { x: 1.0, y: 4.0 };
[INFO] [stdout]    |       ^^^^^ help: if this is intentional, prefix it with an underscore: `_float`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `x` and `y` are never read
[INFO] [stdout]  --> src/bin/generics-traits-generics-3.rs:4:3
[INFO] [stdout]   |
[INFO] [stdout] 3 | struct Point<T> {
[INFO] [stdout]   |        ----- fields in this struct
[INFO] [stdout] 4 |   x: T,
[INFO] [stdout]   |   ^
[INFO] [stdout] 5 |   y: T,
[INFO] [stdout]   |   ^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `x` and `y` are never read
[INFO] [stdout]  --> src/bin/compound-types-enum-4.rs:6:10
[INFO] [stdout]   |
[INFO] [stdout] 6 |   Move { x: i32, y: i32 },
[INFO] [stdout]   |   ----   ^       ^
[INFO] [stdout]   |   |
[INFO] [stdout]   |   fields in this variant
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Message` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0`, `1`, and `2` are never read
[INFO] [stdout]  --> src/bin/compound-types-enum-4.rs:8:15
[INFO] [stdout]   |
[INFO] [stdout] 8 |   ChangeColor(i32, i32, i32),
[INFO] [stdout]   |   ----------- ^^^  ^^^  ^^^
[INFO] [stdout]   |   |
[INFO] [stdout]   |   fields in this variant
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Message` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields
[INFO] [stdout]   |
[INFO] [stdout] 8 -   ChangeColor(i32, i32, i32),
[INFO] [stdout] 8 +   ChangeColor((), (), ()),
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Write` is never constructed
[INFO] [stdout]  --> src/bin/compound-types-enum-4.rs:7:3
[INFO] [stdout]   |
[INFO] [stdout] 4 | enum Message {
[INFO] [stdout]   |      ------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 7 |   Write(String),
[INFO] [stdout]   |   ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Message` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Rectangle` is never constructed
[INFO] [stdout]  --> src/bin/method-5.rs:2:8
[INFO] [stdout]   |
[INFO] [stdout] 2 | struct Rectangle {
[INFO] [stdout]   |        ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `area` is never used
[INFO] [stdout]  --> src/bin/method-5.rs:9:6
[INFO] [stdout]   |
[INFO] [stdout] 8 | impl Rectangle {
[INFO] [stdout]   | -------------- method in this implementation
[INFO] [stdout] 9 |   fn area(&self) -> u32 {
[INFO] [stdout]   |      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `can_hold` is never used
[INFO] [stdout]   --> src/bin/method-5.rs:15:6
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl Rectangle {
[INFO] [stdout]    | -------------- method in this implementation
[INFO] [stdout] 15 |   fn can_hold(&self, other: &Rectangle) -> bool {
[INFO] [stdout]    |      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: irrefutable `if let` pattern
[INFO] [stdout]  --> src/bin/compound-types-enum-5.rs:8:6
[INFO] [stdout]   |
[INFO] [stdout] 8 |   if let n = six {
[INFO] [stdout]   |      ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: this pattern will always match, so the `if let` is useless
[INFO] [stdout]   = help: consider replacing the `if let` with a `let`
[INFO] [stdout]   = note: `#[warn(irrefutable_let_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `none`
[INFO] [stdout]  --> src/bin/compound-types-enum-5.rs:6:7
[INFO] [stdout]   |
[INFO] [stdout] 6 |   let none = plus_one(None);
[INFO] [stdout]   |       ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: you might have meant to pattern match on the similarly named variant `None`
[INFO] [stdout]   |
[INFO] [stdout] 6 -   let none = plus_one(None);
[INFO] [stdout] 6 +   let std::prelude::v1::None = plus_one(None);
[INFO] [stdout]   |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]   |
[INFO] [stdout] 6 |   let _none = plus_one(None);
[INFO] [stdout]   |       +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]  --> src/bin/compound-types-tuple-5.rs:2:8
[INFO] [stdout]   |
[INFO] [stdout] 2 |   let (x, y, z): (i32, i32, i32);
[INFO] [stdout]   |        ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `y`
[INFO] [stdout]  --> src/bin/compound-types-tuple-5.rs:2:11
[INFO] [stdout]   |
[INFO] [stdout] 2 |   let (x, y, z): (i32, i32, i32);
[INFO] [stdout]   |           ^ help: if this is intentional, prefix it with an underscore: `_y`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `z`
[INFO] [stdout]  --> src/bin/compound-types-tuple-5.rs:2:14
[INFO] [stdout]   |
[INFO] [stdout] 2 |   let (x, y, z): (i32, i32, i32);
[INFO] [stdout]   |              ^ help: if this is intentional, prefix it with an underscore: `_z`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `integer`
[INFO] [stdout]  --> src/bin/generics-traits-generics-3.rs:9:7
[INFO] [stdout]   |
[INFO] [stdout] 9 |   let integer = Point { x: 5, y: 10 };
[INFO] [stdout]   |       ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_integer`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `float`
[INFO] [stdout]   --> src/bin/generics-traits-generics-3.rs:10:7
[INFO] [stdout]    |
[INFO] [stdout] 10 |   let float = Point { x: 1.0, y: 4.0 };
[INFO] [stdout]    |       ^^^^^ help: if this is intentional, prefix it with an underscore: `_float`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `x` and `y` are never read
[INFO] [stdout]  --> src/bin/generics-traits-generics-3.rs:4:3
[INFO] [stdout]   |
[INFO] [stdout] 3 | struct Point<T> {
[INFO] [stdout]   |        ----- fields in this struct
[INFO] [stdout] 4 |   x: T,
[INFO] [stdout]   |   ^
[INFO] [stdout] 5 |   y: T,
[INFO] [stdout]   |   ^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `u`
[INFO] [stdout]   --> src/bin/compound-types-struct-2.rs:16:27
[INFO] [stdout]    |
[INFO] [stdout] 16 | fn do_something_with_unit(u: Unit) {   }
[INFO] [stdout]    |                           ^ help: if this is intentional, prefix it with an underscore: `_u`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `SomeTrait` is never used
[INFO] [stdout]  --> src/bin/compound-types-struct-2.rs:3:7
[INFO] [stdout]   |
[INFO] [stdout] 3 | trait SomeTrait {
[INFO] [stdout]   |       ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]  --> src/bin/ownership-borrowing-8.rs:9:18
[INFO] [stdout]   |
[INFO] [stdout] 9 | fn borrow_object(s: &mut String) {}
[INFO] [stdout]   |                  ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `t`
[INFO] [stdout]  --> src/bin/compound-types-tuple-1.rs:7:7
[INFO] [stdout]   |
[INFO] [stdout] 7 |   let t: (u8, u16, i64, &str, String) = (1u8, 2u16, 3i64, "hello", String::from(", world"));
[INFO] [stdout]   |       ^ help: if this is intentional, prefix it with an underscore: `_t`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `invalid_output` is never used
[INFO] [stdout]   --> src/bin/lifetime-basic-4.rs:10:4
[INFO] [stdout]    |
[INFO] [stdout] 10 | fn invalid_output<'a>(s: &'a String) -> &'a String { 
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `u`
[INFO] [stdout]   --> src/bin/compound-types-struct-2.rs:16:27
[INFO] [stdout]    |
[INFO] [stdout] 16 | fn do_something_with_unit(u: Unit) {   }
[INFO] [stdout]    |                           ^ help: if this is intentional, prefix it with an underscore: `_u`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `SomeTrait` is never used
[INFO] [stdout]  --> src/bin/compound-types-struct-2.rs:3:7
[INFO] [stdout]   |
[INFO] [stdout] 3 | trait SomeTrait {
[INFO] [stdout]   |       ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `y`
[INFO] [stdout]   --> src/bin/lifetime-basic-5.rs:11:7
[INFO] [stdout]    |
[INFO] [stdout] 11 |   let y: & i32 = &_x;
[INFO] [stdout]    |       ^ help: if this is intentional, prefix it with an underscore: `_y`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ele`
[INFO] [stdout]  --> src/bin/result-panic-panic-2.rs:6:7
[INFO] [stdout]   |
[INFO] [stdout] 6 |   let ele = v[2];
[INFO] [stdout]   |       ^^^ help: if this is intentional, prefix it with an underscore: `_ele`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ele`
[INFO] [stdout]  --> src/bin/result-panic-panic-2.rs:7:7
[INFO] [stdout]   |
[INFO] [stdout] 7 |   let ele = v.get(2).unwrap();
[INFO] [stdout]   |       ^^^ help: if this is intentional, prefix it with an underscore: `_ele`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v`
[INFO] [stdout]   --> src/bin/result-panic-panic-2.rs:10:7
[INFO] [stdout]    |
[INFO] [stdout] 10 |   let v = production_rate_per_hour(2);
[INFO] [stdout]    |       ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `t`
[INFO] [stdout]  --> src/bin/compound-types-tuple-1.rs:7:7
[INFO] [stdout]   |
[INFO] [stdout] 7 |   let t: (u8, u16, i64, &str, String) = (1u8, 2u16, 3i64, "hello", String::from(", world"));
[INFO] [stdout]   |       ^ help: if this is intentional, prefix it with an underscore: `_t`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `a` and `b` are never read
[INFO] [stdout]  --> src/bin/lifetime-static-2.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | struct Config {
[INFO] [stdout]   |        ------ fields in this struct
[INFO] [stdout] 3 |     a: String,
[INFO] [stdout]   |     ^
[INFO] [stdout] 4 |     b: String,
[INFO] [stdout]   |     ^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Config` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static variable `config` should have an upper case name
[INFO] [stdout]  --> src/bin/lifetime-static-2.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | static mut config: Option<&mut Config> = None;
[INFO] [stdout]   |            ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(non_upper_case_globals)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]   |
[INFO] [stdout] 6 - static mut config: Option<&mut Config> = None;
[INFO] [stdout] 6 + static mut CONFIG: Option<&mut Config> = None;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: creating a shared reference to mutable static
[INFO] [stdout]   --> src/bin/lifetime-static-2.rs:23:25
[INFO] [stdout]    |
[INFO] [stdout] 23 |         println!("{:?}",config)
[INFO] [stdout]    |                         ^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: `#[deny(static_mut_refs)]` (part of `#[deny(rust_2024_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `rust-learning` (bin "lifetime-static-2" test) due to 1 previous error; 2 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: unused variable: `msg1`
[INFO] [stdout]   --> src/bin/compound-types-enum-2.rs:11:7
[INFO] [stdout]    |
[INFO] [stdout] 11 |   let msg1 = Message::Move{ x: 1, y: 1 }; // 使用x = 1, y = 2 来初始化
[INFO] [stdout]    |       ^^^^ help: if this is intentional, prefix it with an underscore: `_msg1`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `msg2`
[INFO] [stdout]   --> src/bin/compound-types-enum-2.rs:12:7
[INFO] [stdout]    |
[INFO] [stdout] 12 |   let msg2 = Message::Write("hello, world!".to_string()); // 使用 "hello, world!" 来初始化
[INFO] [stdout]    |       ^^^^ help: if this is intentional, prefix it with an underscore: `_msg2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `x` and `y` are never read
[INFO] [stdout]  --> src/bin/compound-types-enum-2.rs:5:10
[INFO] [stdout]   |
[INFO] [stdout] 5 |   Move { x: i32, y: i32 },
[INFO] [stdout]   |   ----   ^       ^
[INFO] [stdout]   |   |
[INFO] [stdout]   |   fields in this variant
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]  --> src/bin/compound-types-enum-2.rs:6:9
[INFO] [stdout]   |
[INFO] [stdout] 6 |   Write(String),
[INFO] [stdout]   |   ----- ^^^^^^
[INFO] [stdout]   |   |
[INFO] [stdout]   |   field in this variant
[INFO] [stdout]   |
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]   |
[INFO] [stdout] 6 -   Write(String),
[INFO] [stdout] 6 +   Write(()),
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Quit` and `ChangeColor` are never constructed
[INFO] [stdout]  --> src/bin/compound-types-enum-2.rs:4:3
[INFO] [stdout]   |
[INFO] [stdout] 3 | enum Message {
[INFO] [stdout]   |      ------- variants in this enum
[INFO] [stdout] 4 |   Quit,
[INFO] [stdout]   |   ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 7 |   ChangeColor(i32, i32, i32),
[INFO] [stdout]   |   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "8c16583e666e018a5553679f159aeb756d1e42d05739676af6e022b7e803a615", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8c16583e666e018a5553679f159aeb756d1e42d05739676af6e022b7e803a615", kill_on_drop: false }`
[INFO] [stdout] 8c16583e666e018a5553679f159aeb756d1e42d05739676af6e022b7e803a615
